/**
 *
 */
package jp.seraph.jsmf.motion;

import java.util.List;

import jp.seraph.jsade.task.AgentTask;
import jp.seraph.jsade.task.NopAgentTask;
import jp.seraph.jspf.pose.Pose;
import jp.seraph.jspf.pose.PoseSet;

/**
 * 指定されたステップ数動作を止めるMotionSession実装
 *
 */
public class BlankMotionSession implements MotionSession {
    public BlankMotionSession(int aStep){
        mStep = aStep;
    }

    private int mStep;

    public int getStep(){
        return mStep;
    }

    public String getName() {
        return "blank " + mStep;
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#getElement(java.lang.String)
     */
    public MotionElement getElement(String aElementName) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#createPoseSet(int)
     */
    public PoseSet createPoseSet(int aPercentage) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#createPoseSet(jp.seraph.jspf.pose.Pose, jp.seraph.jspf.pose.Pose)
     */
    public PoseSet createPoseSet(Pose aBasePose, Pose aCurrentPose) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#getMainElement()
     */
    public MotionElement getMainElement() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#getPercentage(jp.seraph.jspf.pose.Pose, jp.seraph.jspf.pose.Pose)
     */
    public int getPercentage(Pose aBasePose, Pose aCurrentPose) {
        return 0;
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#getSubElement(int)
     */
    public MotionElement getSubElement(int aIndex) {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#getElementCount()
     */
    public int getElementCount() {
        return 0;
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#toElementList()
     */
    public List<MotionElement> toElementList() {
        throw new UnsupportedOperationException();
    }

    /**
     *
     * @see jp.seraph.jsmf.motion.MotionSession#toTask()
     */
    public AgentTask toTask() {
        return new NopAgentTask(mStep);
    }

}
